home *** CD-ROM | disk | FTP | other *** search
/ MacUser Mac Bin 25 / MACUSER-MACBIN25-1995-12.ISO.7z / MACUSER-MACBIN25-1995-12.ISO / ワタシの作品見てください / 北海道 内田伸一さん / T.T.T.Doc < prev   
Text File  |  1995-05-23  |  15KB  |  331 lines

  1. ----------------------------------------------------------------
  2. ---------------- ツッチ ザ ツチノコ について・・・ ----------------
  3. ----------------------------------------------------------------
  4. ☆☆☆注意: 
  5.  ハードディスクにコピーした後に御使用下さい。
  6. それ以外では、正常に動作しないかも知れません。
  7.  
  8. ☆スタックの概要:
  9.  超簡単な謎(?)を解いて進むパズルアドベンチャーゲームです。
  10. パズルアドベンチャーと言っても、ゲームの流れは、殆ど一方通行なので、
  11. 先へ進むだけでクリアしてしまうでしょう。
  12. ゲーム性、パズル性、ともに皆無です。ハハハ!!
  13. あと、ストーリー性もないよ。
  14.  
  15.  ゲームの規模としては1ステージのみで、移動出来るマップ数は
  16. 画面上では計12面です。
  17. 本当に30分位でクリアしちゃう様な、非常にスケールの小さなゲームですから、
  18. 気合いを入れてプレイすると、あっと言う間に終わってしまいます。
  19. 注意しましょう。
  20. ----------------------------------------------------------------
  21. ☆動作環境:
  22. ”仮想メモリは切”
  23.  ハイパーカードのメモリ割り当てサイズを、必ず2000KB以上に設定して下さい
  24. (さらに余裕を持った方がいいでしょう)それ以下ではエラーを起こします。
  25. 1500KBで試したところ、マックがフリーズし、
  26. しかもマウスポインタの絵とマスクが分裂するという状態になりました。
  27. (あぁ恐ろしい・・・)
  28. これは私の推測ですが、ゲーム中サンプリング音を鳴らし続ける為
  29. にメモリ関係のエラーが起こるのではないかと思います。
  30.  
  31. 「このマッキントッシュについて」を選択し、リアルタイムでメモリ使用状況を
  32. 追ったところ、2000KB必要だと判りました。
  33. プレイ状況にもよりますが、事によると、これでも不足かもしれません。
  34. 本当にギリギリなのです。
  35. あれっ?どうもおかしいぞと感じたら、あと500KB程増やして下さい。
  36. (仮想メモリは使わないで下さい)
  37. そんなにメモリ割り当てられないよと言う人は、ごめんなさい
  38. 諦めて下さい。
  39.  
  40. と、こんな感じですから、
  41. このスタックは各自の責任において使用して下さい。
  42. エラーが怖いのであれば、今すぐ
  43. ゴミ箱に捨ててしまうのだ!!
  44. しかし、2500KBも使うスタックなんてないよな〜。すいません。
  45.  
  46. このスタックを使用した事により生じた、いかなる損害についても
  47. 私はその保障義務を一切負いません。
  48.  
  49. ----------------------------------------------------------------
  50. ★配布.転載について:
  51.  このスタックはフリーウェアです。ご自由に配布して下さい。
  52. 気にいったら葉書でも送ってよ。
  53. 転載も自由、
  54. (知らせてくれると嬉しいな)
  55. でも営利目的には利用しないで下さい
  56. フリーウェアにする意味が無くなってしまいます。   
  57. (誰もこれで金儲けしようなんて考えないだろうけどさ。)
  58. あと、著作権は私に有ると、一応は、宣言しておきましょう。
  59. ----------------------------------------------------------------
  60. ★謝罪&その他:
  61.  こんなちっぽけなスタックなのに1メガも容量を使ってしまったのは
  62. 私の責任です。
  63. 本当はこの半分位の容量にまとめたかったのですが、造っているうちに
  64. 欲が出て、サンプリング音を入れすぎてしまいました。
  65. その割にはBGMが貧弱だったりしますがね、はははは
  66. ファミコンライクな画面デザインなだけに余計そう感じると思います。
  67. 特に、黒い床パネルの所のテーマは、
  68. もっと哀愁漂う様な音楽にしたかったのですが・・・(センスがないよね)
  69.  
  70. それから動作が鈍いので、気の短い人はかんしゃく起こさないでね。
  71.  
  72. 尚、SEの一部にJHAG VOL-2 にあった、中井裕之氏のSoundLib-92/12-1から
  73. お借りしたものを使わせて頂きました。
  74. 主にキャラの移動時、アイテム使用時、その他等に利用させてもらいましたが、
  75. かなりそれっぽく表現する事が出来ました。
  76. (中には音程を変えてるのがありますけど)
  77. 私は通信をしていないので、
  78. この場を御借りしてお礼申しあげます。
  79.  
  80.  それから、スクリプトを見たいと思われたならば、ゲームクリア後に
  81. スタック保護を解除するパスコードが出ます。
  82. でも、参考にはならないと思います。
  83. 本人でさえ、これでよく動いているなと感心する様な稚拙なものです。
  84.  
  85. 最近になって、ようやく変数とかHyperTalkの階層構造の概念等を
  86. 理解し始めたのですが、このスタックでは、ある理由で階層構造は殆ど活かされて
  87. いないんですね〜。
  88. (容量の増加は、この所為でもある)
  89. 分析しようなんて考えない方がいいでしょう。気が変になっちゃうよ。
  90.  
  91. CHEAP&POOR STUDIOなんていう、レーベル*で出してるけど、
  92. 一人で全部造ったわけなのよ。*(妙な所に凝る性分なのね)
  93.  
  94. いや〜しかし、この俺がこんなメルヘンチックなスタックを造るとは
  95. 思いもしなかったぜ。フウ、
  96.  
  97. あ、言っておくけど、主人公のキャラは"つちのこ"です。
  98. 尻尾振って進む後ろ姿はワン公に見えるでしょうが、
  99. それでも"つちのこ"なのです。
  100.  
  101. ----------------------------------------------------------------
  102. よかったら感想&バグレポートを送って下さい。
  103.  
  104. 080
  105.     北海道帯広市西10条南19丁目-1
  106.  内田伸一  (SHIN)
  107.  
  108.             1995/5/9   PM 9:00 
  109.  
  110. ----------------------------------------------------------------
  111. ★ついでに:
  112.  昨夜、札幌在住の友人、O氏より電話がきた。
  113. このスタックに関する感想、及び助言である。
  114.  
  115. 例えば、
  116. ホームスタックのユーザーレベルがブラウジングに固定されている場合、
  117. ゲームの途中で一部動作しなくなってしまう事がある(解決済み)、とか
  118.  
  119. 9㌅モニターでは、メッセージBOXで移動ボタンが隠されてしまい、
  120. その度にクローズボックスをクリックして消さなくてはならない事等で
  121. ある。(こっちは残念ながら未解決)
  122.  
  123. 他にも、有益なアドバイス等も聞く事が出来た。
  124.  
  125. 彼O氏は
  126. 最後のモノクロ9㌅MACであるCLASSIC Ⅱのユーザーなのだ。
  127. わずか9㌅の世界(スタック)を造る上で非常に貴重な助言となった。
  128.  
  129. ドモ アリガト ミスター ガーケン
  130.  
  131.                   95/5-22 PM3:53    以上
  132.  
  133.       (以上、スタック内のコメント重複分、おわり)
  134.  
  135. ----------------------------------------------------------------
  136. ◎読むのは勝手、制作裏話:
  137.  このスタックは、私の2作目の作品です。(完成品としては)
  138. MACを買ったのが、93年の11月頃だから、かれこれ1年半になります。
  139. 以前作った(完成した)物は、著作権を無視した様な内容でしたから、
  140. とても人に見せる事は出来ませんので、
  141. 実質的には、これが初めて世に出すスタックという事になります。
  142. そう言えば去年の同じ頃に、ちまちま作っていたのを思い出すなぁ〜。
  143.  
  144. その後は、具体的なアイデアも無く、スタックいじりと言えば、
  145. 主に実験を繰り返していました。
  146. しかし「このままではいかん!何かを作り上げねば時間が過ぎていってしまう」と
  147. 尤もな、そして妙に緊迫した、誰でも一度は感じるであろう焦燥感にとらわれ、
  148. 再び、新タイトル(笑)の制作に取りかかったのでした。
  149. 具体化はしてなかったものの、もや〜っとしたイメージの様なものがあったので、
  150. とにかく手を出してみようという事になったのです。
  151. ジャンルとしては、最近読んだラブクラフトの作品を題材とした
  152. コズミックホラー・アドベンチャースタックと言う感じでしょうか。
  153. なんだかアローン・インザ・ダーク(未プレイ)や、パスウェイ・イントゥ・ダークネスの
  154. パクリみたいなシチュエーションですけどね。
  155.  
  156.  元々私は、物を造る時に設計図等書かず、現物合わせで取りかかってしまう質なので、取り敢えずオープニングさえ造ってしまえば、後はなんとかなるさと
  157. 楽観視していました。
  158.  実際、前作ではタイトルカードを造ると、次々とアイデアが浮かび最後には
  159. 完成させる事が出来たのです。
  160.  ところが、と言うより当然の事ながら、今回はその作業を終えてしまうと、その先にある肝心のストーリー内容であるとか、シーン等のアイデアに行き詰まり、
  161. あえなく匙を投げ出す結果となってしまいました。
  162.  失意のどん底(笑)にいる私は、そうして完成したオープニングだけを、
  163. 幾度もリプレイさせては、独り画面に見入り、ため息をついていたのです。
  164. (ハハハ・・・)
  165.  
  166.  そのフラストレーションの反動でしょうか?
  167. 今まで考えた事もなかった様なスクリプトが、頭に浮かんだのです。
  168. それが、このスタックの基本的な部分である、プレーヤーの操作により
  169. アイコンを変えながら、任意の位置へボタンを移動させるというものでした。
  170. これまで、アイコンの動画と同時にボタンを移動させるというのは、
  171. プレーヤーの意思では制御不可能な、流しっぱなしのデモ扱いの様なものだと思っていましたので、このスクリプトを思いついた時は狂喜しました。
  172. こう書くと、「何だ、そんな事くらいなら、僕は既に作った事があるよ」なんて
  173. 思われてしまうかも知れませんが、私のスクリプティング能力を基準とすると、
  174. これは実に画期的な事だったのです。
  175.  
  176.  そして、すぐさま実験に取りかかりました。
  177. 果たして実験は成功となりました。ボタンが意図した通りの動きを見せた時の
  178. 気持ちはとても言葉では言い表せません。
  179. 少々大袈裟ですし、全く些細な事なのですが、物を造るのが好きな方なら
  180. 解っていただけると思います。
  181. 実験は、そのまま本番のスタック作りへと移行しました。
  182. 前述の理由で、気分が高揚していた為か、
  183. ノートにマップを描き込んでいく30分程のうちに、ゲームの流れに関しては、
  184. すっかりまとまっていました。
  185. とにかく目の前に達成可能な目標(或いは問題)さえ存在すれば、
  186. それに向かって打ち込む事が出来るわけですから、これほど心強い事はありません
  187. 増してや、それが自分の興味の対象であるなら、尚更です。
  188.  逆に、造るべきテーマや、解決すべき問題が、全く存在しない時など、
  189. とても虚しく、辛くなってしまいます。
  190.  
  191.  こうして造り始めた「ツッチ〜」も、スクリプトの細部に至っては、
  192. やはり現物合わせでした。しかし、スタックのオーバーヴューと言うか、
  193. 小説で言えば起承転結みたいなものが、はっきりしていたので、
  194. なんとか完成させる事が出来たのです。
  195. 実は当初、完成まで一週間と見積もっていたのですが、一ヵ月近くもかかって
  196. しまいました。
  197. (やったあ〜、やっとでけたぁ〜。)
  198.  
  199. ----------------------------------------------------------------
  200. ◎読むのは勝手パート2、
  201.  スタックの構成について:
  202. このスタックでは、一応クォーターヴューを表現しています。
  203. そこで遠近感を出そうと、オブジェ(例えば、壁や柱など)の向こうをキャラが
  204. 移動している様に見せる為にバックグラウンドにマップを描き、キャラの
  205. アイコンがついたボタンも配置して、その上にオブジェを描いたカードを重ねています。
  206. ですから、12面のマップがあるとすると、背景(マップ)の描かれた
  207. バックグラウンドも同じ数が必要になってしまいます。
  208. この為、スクリプトにも重複する部分が出てきて、結果的に容量を大きくしてしまう事になったのです。
  209.  さらにHyperTalkの階層構造も、こう言った理由により、あまり活かす事が
  210. 出来ませんでした。
  211.  
  212.  共通のバックグラウンドを利用すれば、或いはもう少し容量を抑える事や、
  213. 階層構造を有効に扱う事も出来たでしょうが、どうしてもこの遠近感、奥行きを
  214. 表現したかったが為に敢えて犠牲にしたというわけです。
  215. でもその割には、効果的な画面デザインになっていなかったりするけどもさ。
  216.  
  217.  
  218. スクリプトの配置は、
  219.  
  220. ☆方向ボタンのスクリプト:
  221. 四つの移動ボタン(カードボタン)に、移動する為の命令を送るスクリプトを、
  222. 例えば、左上はA、左下はB、右上はC、右下はD、というのが書かれてあります。
  223. (A.B.C.D.がそれぞれ、そのまま命令文です、カード、バックグラウンド、スタックには、これら命令文を受け取るハンドラが待機しています。)
  224.  
  225. ☆カードスクリプト:
  226. カードには、そのカードに描かれたマップの構成通りに座標を管理するスクリプトが書かれています。主に、壁や柱などの障害物、隣の部屋へ移動するポイント、
  227. 飛び降りる場所などの座標です。
  228. そして、キャラ(ボタン)がその座標へ来ると、それに応じたリアクションを
  229. 起させる為の命令が書かれています。←(BG、STACKへ送られる)
  230.  
  231. ☆バックグラウンドスクリプト:
  232. バックグラウンドには、そのマップ上で起るリアクション、イベント等の命令文が
  233. 書かれています。
  234. ボタン→カードからイベントを起こせと命令が来ると、それを実行します。
  235. その命令がイベントに関係しない場合には、スタックへと抜けて送られます。
  236.  
  237. ☆スタックスクリプト:
  238. スタックには、全てのマップで共通のスクリプトが書かれています。
  239. 主に移動が可能な場合と、不可能な場合のリアクションです。
  240. その他に一段上へのジャンプと、1〜2段下への落下に関するもの等もあります。
  241.  例えば、A(左上へ進む)のボタンが押されたとします、もし前方にイベントに関係する物体(メッセージの書かれたパネル)等がなければ、
  242. その命令はカードとバックグラウンドを抜けて、スタックに送られます。
  243. そして、その為のリアクションが起こるわけです。
  244. つまり前方へと移動する事が出来るのです。
  245. また、壁や柱などの障害物があった場合の処理もここに書かれています。
  246. これらの処理は、全編で共通しています。
  247. 簡単に言えば、ボタンを押してキャラが移動すれば、それはカード、バックグラウンドを抜けた命令によって、スタックが処理したと言うことになります。
  248. 壁にぶつかって、弾かれる動きをする場合も同じ事です。
  249.  
  250. ☆フラグ処理について:
  251.  フラグ処理は、殆どボタンの表示、非表示で行っています。
  252. 処理が必要なカードには、左上に透明のバックグラウンドボタンが
  253. 隠されています、イベント前は消されていて、イベント終了後には表示されます。
  254. (透明なので見えませんが)
  255. 他の方法として、2つのイベントをクリアしなくてはリアクションを起こさない
  256. 処理に2つのフィールドを使用している場合もあります。
  257.  例えば、
  258. イベント"A"をクリアすると、A”というフィールドに数値、"1"を入れます。
  259. イベント"B"をクリアすると、B”というフィールドに同じく "1"を入れます。
  260. そこで、スクリプトにより、A”とB”に入っている数値を取り出して、
  261. その合計を計算します。
  262. 1+1で、答えは"2"になります。
  263. 答えが"2"であれば、イベント"C"を起こさせる様にスクリプトしているので、
  264. その通りのリアクション(イベント"C")を見る事が出来る様になります。
  265. 初期状態で2つのフィールドには何も数値が入っていないので、
  266. AとB、いずれか一方のイベントだけをクリアしても、計算結果が"2"と
  267. ならなければ、何の変化も起きないと言うわけです。
  268.  
  269.  以上が、大まかなスクリプトの内容です、この他にもイベントそのものの処理
  270. などの命令が加わりますが、そちらは正攻法で組み立てていないので、参考にはならないでしょうから、説明を省きます。
  271. 取り敢えず、スクリプトの説明をしましたけど、現物合わせで造りましたので
  272. 全体的に、スクリプトが統一されているわけではありません。
  273. 中には例外もあります。
  274.  
  275. スクリプトの中身を見られる方がおりましたら、以上の事を踏まえておられると
  276. 多少は混乱するのを抑えられるかもしれません。
  277. (ど〜かな〜? 
  278. なにせ、継ぎはぎだらけの張りボテみたいなスタックだからなぁ〜。)
  279.  
  280. ----------------------------------------------------------------
  281. ◎読むのは勝手パート3、
  282. 今回のスタック作りで感じた事:(若干、横柄な口調だよ)
  283.  マック雑誌のCD-ROM広告なんか見てると、動作環境が上位機種に限定されて
  284. いたりしていて、どうしてもっとエントリーユーザーのレベルに合わせてくれない
  285. のだ、どうしてコンシューマー機の様に全ての環境で利用可能なソフトを作って
  286. くれないのだと、いつも嘆いていたのだが、
  287. 今回こうして自分で作ってみると、表現したい物を、現在持ちうるあらゆる可能性
  288. を最大限に利用して、効果的に創造したくなるという作り手の気持ちが解った。
  289. この場合、自分の制作環境が、そのまま動作環境の基準となる。
  290. であれば、それより下の機種を持つ人達は切り捨てられるという事になるわけだ。
  291. 全く利用出来ないわけではなくとも、そのソフトの能力をフルに引き出す事は
  292. 出来なくなる。
  293.  今回のスタックでは、主にメモリ関係でそういう事態になってしまった。
  294. この点については、反省している。
  295. 自分の作った物は、なるたけ多くの人にベストの状態で見てもらいたいと思う
  296. のが、人情だ。
  297. これはそのまま、僕の気持ちである。だから、HyperCardにこだわっている。
  298. HyperCardが、マックユーザー共通の(全ての機種で利用可能な)
  299. プラットホームであるからだ。
  300. 家庭ゲームのカラフルさに見飽きた俺は、マックのHyperCardのドット絵は
  301. とても新鮮に見えた。
  302. だが、最近はHyperCardさえもが、正式にカラー化している。
  303. これらで作られたスタックは、モノクロユーザーには使う事が出来ない。
  304. また、カラーになった為に動作速度が遅くなったそうだ。
  305. 僕的(笑)に言わせてもらえれば、カラー化するより、スクリプトの処理速度を
  306. 速める工夫(カラーであろうが無かろうが)をしてもらいたかった。
  307. 未だパッケージを買ってないんだけどね。
  308.  
  309. とは言え、昨日今日スクリプトを書き始めた様な僕でも、こうして一つの
  310. スタックを造り上げる事が出来てしまうHyperCardはやはり凄い。
  311. 学生時代、僕は数学も英語もまるで駄目だったんだぜぇ〜、
  312. そんな僕でも造れたのだ。
  313. 読んでいてピンとこないと思うけど、これは実に驚異的な事なんだ。
  314. 「HyperCardは懐の深いソフトである」と言われるが、全くその通りだと思う。
  315. 勿論、HyperCardにも可能な事と不可能な事があるし、
  316. 人それぞれ、アプローチの仕方が違うかも知れない。
  317. でも、利用法さえ誤らなければ、これほど自己表現を可能とさせてくれる
  318. 手軽なソフトは他には無いと思うのだ。
  319. おまけに只だしネ(笑)
  320. ---------------------------------------------------------------
  321. ★補足:
  322. メモリ関係のエラーは今回、初めて知った。
  323. 丁度、スタックが完成し、動作確認をしている段階で発生したのだ。
  324. 時間が無く、アルゴリズムを最初から変更するわけにはいかなかったので、
  325. 使用者にはメモリを多めに設定してもらう事にした。申しわけない。
  326. 去年の時は、その様な状態にならなかったので気付かなかった。
  327. ある意味、今回はそれを知っただけ収穫があったわけだ。
  328. ふっふっふ。
  329. 次回は、これを踏まえてスタックを作る事が出来る。
  330. 解決法は既に頭の中にあるのだ。
  331.